1. Field of the Invention
The present invention relates generally to a mobile communication system, and in particular, to an apparatus and method for encoding and decoding a Low Density Parity Check (LDPC) code having the maximum error correction capability and an error detection capability.
2. Description of the Related Art
Active research into a 4th generation (4G) mobile communication system, which is the next generation mobile communication system, is being conducted to provide users with various qualities-of-service (QoS) at a data rate of about 100 Mbps. The 4G mobile communication system, unlike the earlier generation mobile communication systems, attempts to provide efficient interworking/convergence services between a wired communication network and a wireless communication network beyond the conventional simple radio communication service. Therefore, there is a demand for development of a technology capable of transmitting a large volume of data approximating a capacity of a wired communication network, even in a wireless communication network.
To improve system performance, it is necessary to increase system transmission efficiency using an appropriate channel coding scheme because there is a demand for a high-speed, high-capacity communication system capable of processing and transmitting a variety of information such as image and radio data beyond the early voice-oriented service. However, unlike a wired channel environment, a wireless channel environment existing in a mobile communication system inevitably suffers from errors caused by various reasons such as multipath interference, shadowing, propagation attenuation, time-varying noise, interference, fading, etc., thereby causing an information loss. The information loss seriously distorts actual transmission signals, reducing an entire performance of the mobile communication system. Generally, in order to reduce the information loss, various error-control techniques are used according to characteristics of channels to increase reliability of the mobile communication system. The most typical error-control technique uses an error correction code.
The error correction code is generally classified into a block code and a convolutional code according to the need of a memory in its encoding process. The conventional block code includes a Low Density Parity Check (LDPC) code on which a large amount of research is being carried out.
Generally, the error correction capability of the block code is closely related to a minimum distance dmin of the block code. The minimum distance dmin of the block code can be defined using a Hamming distance. The Hamming distance refers to the number of different elements between two random codewords, and in the block code, the minimum Hamming distance among all possible Hamming distances between codewords becomes the minimum distance. It is already well known to those skilled in the art that a block code with the minimum distance dmin can correct all of a maximum of
            d      min        -    1    2errors.
FIG. 1 is a diagram schematically illustrating a minimum distance between two random block codewords, an error correction capability, and an error detection capability. Referring to FIG. 1, a transmitter generates a block codeword by encoding information data to be transmitted, and transmits the generated block codeword to a receiver over a radio channel. The receiver receives the block codeword including noises transmitted by the transmitter, and if a Hamming distance between the received signal and the block codeword transmitted by the transmitter is less than or equal to ‘t’, an error of the received signal is corrected. Therefore, the received signal is decoded into the block codeword transmitted by the transmitter. Herein, ‘t’ denotes an error-correctable Hamming distance. However, if a Hamming distance between the received signal and the block codeword transmitted by the transmitter is greater than ‘t’ and is less than or equal to the minimum distance dmin, the received signal cannot be decoded into the block codeword transmitted by the transmitter. In this case, the receiver simply detects the presence of an error in the received signal.
In addition, when the Hamming distance between the received signal and the block codeword transmitted by the transmitter is greater than ‘t’, the received signal is error-corrected into a block codeword that is totally different from the block codeword transmitted by the transmitter. As a result, the received signal is decoded into unreliable information data. Therefore, when a Hamming distance between two random block codewords is less than or equal to an error-correctable Hamming distance ‘t’, error correction is possible, and when the Hamming distance between two random block codewords is greater than the error-correctable Hamming distance ‘t’ and less than or equal to the minimum distance dmin, error correction is impossible, but error detection is possible. When the Hamming distance between two random block codewords is greater than the minimum distance dmin, both the error correction and the error detection are impossible.
However, because the minimum distance dmin between two random block codes is a constant, an increase in a radius for error correction of the block code, i.e., an increase in error-correctable Hamming distance ‘t’, reduces a radius for error detection of the block code. That is, an error correction capability of the block code is in inverse proportion to an error detection capability of the block code. Therefore, a scheme for adding Cyclic Redundancy Check (CRC) to the end of a block codeword to give an error detection capability while maintaining the error correction capability of the block codeword is generally used. A part for error detection, like the CRC, is an essential part necessary for preventing mis-operation of the system due to an error of a block codeword possibly occurring after a decoding process of the block codeword. However, because the CRC addition scheme reduces a coding rate of the block code, it is not possible to use the CRC for error detection in a communication system requiring a high coding rate. Accordingly, there is a demand for a block code having an error detection capability while maintaining the error correction capability.